package main

import "fmt"

type Simpler interface {
	Get() int
	Set(args1 int)
}

type Simple struct {
	val int
}

func (s *Simple) Get() int {
	return s.val
}

func (s *Simple) Set(args1 int) {
	s.val = args1
}

func ShowSimpler(s Simpler, val int) {
	fmt.Printf("Get() %v \n", s.Get())
	s.Set(val)
	fmt.Printf("Set() %v \n", s.Get())
}

func main() {
	s := &Simple{val: 20}
	ShowSimpler(s, 30)
}
